package microservices.spring_cloud_server.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import microservices.spring_cloud_server.vo.MenuVO;
import microservices.spring_cloud_server.vo.PageVO;
import microservices.spring_cloud_server.vo.PagedResult;

@Mapper
public interface MenuDao {
	PagedResult<MenuVO> queryMenuPagedList(@Param(value = "menuVO") MenuVO menuVO,
			@Param(value = "pageVO") PageVO pageVO);

	void addMenu(@Param(value = "menuVO") MenuVO menuVO);

	List<MenuVO> queryParentMenuList();

	List<MenuVO> queryRouters();

	List<MenuVO> queryMenuRootList(@Param(value = "menuVO") MenuVO menuVO);

	void updateMenu(@Param(value = "menuVO") MenuVO menuVO);

	void batchDeleteMenu(@Param(value = "menuList") List<MenuVO> menuList);

	List<MenuVO> queryMenuList();

	PagedResult<MenuVO> queryMenuList(@Param(value = "menuVO") MenuVO menuVO, @Param(value = "pageVO") PageVO pageVO);
}
